package com.jt.aop;

import com.jt.vo.SysResult;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;

//@ControllerAdvice   //拦截Controller层的异常
//@ResponseBody       //返回的数据为JSON串
@RestControllerAdvice
public class SystemExceptionAOP {

    /**
     * 通过方法 实现程序的控制
     *  1.返回值就是响应给用户的数据
     *  2.参数信息: 使用异常类型进行接收
     *  3.规则: 如果controller层抛出异常,则将异常信息
     *  参数,传递给exceptione
     *  4.注解支持: @ExceptionHandler 拦截指定的异常类型
     */
    @ExceptionHandler(RuntimeException.class)
    public SysResult fail(Exception exceptione){
        //打印异常信息
        exceptione.printStackTrace();
        return SysResult.fail();
    }
}
